/*=============================================================================

  APPLICATION MANAGER MODULE

  FILE: SYSmgr_INI.cpp
  
  DESCRIPTION

    Manager Module Definition

  EXTERNALIZED FUNCTIONS

    
  Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

                             EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who     what, where, why
  ---------  -------  -------------------------------------------------------
   06/28/03   nso4th   Version 0.1

=============================================================================*/

/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include "SYSmgr_INI.h"

/*=============================================================================
  CONSTANT IMPLEMENTATION
=============================================================================*/


/*=============================================================================
  LOCALIZED FUNCTION DEFINITION
=============================================================================*/


/*=============================================================================
  SYSmgr CLASS IMPLEMENTATION
=============================================================================*/


/*=============================================================================
  LOCALIZED FUNCTION IMPLEMENATION
=============================================================================*/
CIniFile::CIniFile()
{
}

CIniFile::~CIniFile()
{

}

void CIniFile::IniWrite(CString strFilename, CString strSection, CString strKey, CString strData)
{
	WritePrivateProfileString(strSection, strKey, strData, strFilename);
}

void CIniFile::IniWrite(CString strFilename, CString strSection, CString strKey, int nData)
{	
	CString strValue;
	strValue.Format("%d", nData);

	WritePrivateProfileString(strSection, strKey, strValue, strFilename);
}

void CIniFile::IniWrite(CString strFilename, CString strSection, CString strKey, double dData)
{	
	CString strValue;
	strValue.Format("%.5lf", dData);

	WritePrivateProfileString(strSection, strKey, strValue, strFilename);
}

/*
void CIniFile::IniWrite(CString strFilename, CString strSection, CString strKey, BOOL bData)
{
	CString strValue;

	if( bData )
	{
		strValue = "1"; 
	}
	else
	{
		strValue = "0"; 
	}

	WritePrivateProfileString(strSection, strKey, strValue, strFilename);
}
*/

void CIniFile::IniRead(CString strFilename, CString strSection, CString strKey, CString strDefault, CString &strData)
{	
	char szTemp[100];
	memset(szTemp, 0, 100);

	GetPrivateProfileString(strSection, strKey, strDefault, szTemp, 100, strFilename);
	strData = szTemp;
}

void CIniFile::IniRead(CString strFilename, CString strSection, CString strKey, int nDefault, int &nData)
{	
	CString strDefault;
	strDefault.Format("%d", nDefault);

	char szTemp[100];
	memset(szTemp, 0, 100);

	GetPrivateProfileString(strSection, strKey, strDefault, szTemp, 100, strFilename);
	sscanf(szTemp, "%d", &nData);
}

void CIniFile::IniRead(CString strFilename, CString strSection, CString strKey, double dDefault, double &dData)
{		
	CString strDefault;
	strDefault.Format("%lf", dDefault);

	char szTemp[100];
	memset(szTemp, 0, 100);

	GetPrivateProfileString(strSection, strKey, strDefault, szTemp, 100, strFilename);
	sscanf(szTemp, "%lf", &dData);
}

/*
void CIniFile::IniRead(CString strFilename, CString strSection, CString strKey, BOOL bDefault, BOOL &bData)
{
	char szTemp[100];
	memset(szTemp, 0, 100);

	CString strDefault;
	strDefault.Format("%d", bDefault==TRUE);

	GetPrivateProfileString(strSection, strKey, strDefault, szTemp, 100, strFilename);
	CString str = szTemp;

	if( atoi(str) != 0)
	{
		bData = TRUE;
	}
	else
	{
		bData = FALSE;
	}
}
*/

void CIniFile::IniRead(CString strFilename, CString strSection, CString strKey, float fDefault, float &fData)
{		
	CString strDefault;
	strDefault.Format("%f", fDefault);

	char szTemp[100];
	memset(szTemp, 0, 100);

	GetPrivateProfileString(strSection, strKey, strDefault, szTemp, 100, strFilename);
	sscanf(szTemp, "%f", &fData);
}

void CIniFile::IniWrite(CString strFilename, CString strSection, CString strKey, float fData)
{	
	CString strValue;
	strValue.Format("%.5f", fData);

	WritePrivateProfileString(strSection, strKey, strValue, strFilename);
}